package ar.edu.unlp.info.dssd.dao;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


public abstract class AbstractDao extends HibernateDaoSupport {

	/**
	 * Implementacion con Spring
	 */

	public <T> Object save(T objeto) {
		this.getHibernateTemplate().saveOrUpdate(objeto);
		return (T) objeto;
	}

	public Object update(Object objeto) {
		this.getHibernateTemplate().update(objeto);
		return objeto;
	}

	public void delete(Object objeto) {
		this.getHibernateTemplate().delete(objeto);
	}

	public Object get(Class clase, long id) {
		return this.getHibernateTemplate().get(clase, id);
	}

	protected List getAll(Class clase) {
		return this.getHibernateTemplate().loadAll(clase);
	}

}
